package xcmg.device.util;

import java.util.Random;

/**
 * @author caocy
 * @version V1.0
 * @description <文件描述: 生成随机数工具类>
 * @date 2017-12-01
 */
public class ToolRandom
{

	public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	public static final String LETTERCHAR = "abcdefghijkllmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	public static final String NUMBERCHAR = "0123456789";

	/**
	 * 生成制定范围内的随机数
	 * @param scopeMin
	 * @param scoeMax
	 * @return
	 * @author caocy
	 * @version V1.0
	 * @date 2017年12月1日
	 */
	public static int integer( int scopeMin, int scoeMax )
	{
		Random random = new Random();
		return ( random.nextInt( scoeMax ) % ( scoeMax - scopeMin + 1 ) + scopeMin );
	}

	/**
	 * 返回固定长度的数字
	 * @param length
	 * @return
	 * @author caocy
	 * @version V1.0
	 * @date 2017年12月1日
	 */
	public static String number( int length )
	{
		StringBuffer sb = new StringBuffer();
		Random random = new Random();
		for ( int i = 0; i < length; i++ )
		{
			sb.append( NUMBERCHAR.charAt( random.nextInt( NUMBERCHAR.length() ) ) );
		}
		return sb.toString();
	}

	/**
	 * 返回一个定长的随机字符串(只包含大小写字母、数字)
	 * @param length 随机字符串长度
	 * @return
	 * @author caocy
	 * @version V1.0
	 * @date 2017年12月1日
	 */
	public static String getStringByLen( int length )
	{
		StringBuffer sb = new StringBuffer();
		Random random = new Random();
		for ( int i = 0; i < length; i++ )
		{
			sb.append( ALLCHAR.charAt( random.nextInt( ALLCHAR.length() ) ) );
		}
		return sb.toString();
	}

}
